$(function() {
	var page_type_id = $('#page_type_id').val();
	
	$('#type-form').validate({
		errorElement : 'span',
		errorPlacement : function(error, element) {
			element.parents(".control-group").addClass('error');
			var espan = element.next('span');
			if(espan.length > 0 && !espan.hasClass('error')) {
				espan.remove();
			}
			error.addClass('help-inline').appendTo(element.parent(".controls"));
		},
		success : function(label) {
			label.parents(".control-group").addClass('success').removeClass('error');
			label.text("");
		},
		invalid : function(error, element) {
			element.parents(".control-group").addClass('error').removeClass('success');
		},
		rules : {
			'page_type' : {
				required : true,
				minlength : 3,
				regexp : /^[_a-z][_\da-z]+$/i,
				remote : './?Ctlr=CheckType&tid=' + page_type_id
			},
			'page_type_name' : {
				required : true,
				minlength : 2,
				regexp : /^[a-z\u4E00-\u9FA5]+$/i
			}
		},
		messages : {
			'page_type' : {
				required : '页面类型不能为空',
				minlength : '至少3个字符，不能含有非法字符',
				remote : '页面类型已经存在',
				regexp : '页面类型有非法字符'
			},
			'page_type_name' : {
				required : '页面类型名不能为空',
				minlength : '至少2个字符，不能含有非法字符',
				regexp : '只能是字母或汉字'
			}
		}
	});
	
	var setting = {
			data: {
				simpleData: {
					enable: true
				}
			},
			callback:{
				onClick:function(){
					$('#tpl-info').hide();
				}
			}
		};
	$.fn.zTree.init($("#tpls-tree"), setting, tplNodes);
	$('#btn-select-tpl').click(function(){
		$('#tpl-info').hide();
		$('#tpl-selector').modal('show');		
	});
	$('#default_template').click(function(){
		$('#tpl-info').hide();
		$('#tpl-selector').modal('show');
	});
	$('#btn-close-form').click(function(){
		$('#tpl-selector').modal('hide');
	});
	$('#btn-done').click(function(){
		var treeObj = $.fn.zTree.getZTreeObj("tpls-tree");
		var nodes = treeObj.getSelectedNodes();
		if(nodes.length){
			var node = nodes[0];
			if(node.isParent !== true){
				$('#tpl-selector').modal('hide');
				var tpl = node.dir + '/' +node.name;
				tpl = tpl.substring(1);
				$('#default_template').val(tpl);
				return false;
			}
		}
		$('#tpl-info').show();
		return false;
	});
});
